package cn.wen.mybatis.framework.reflection;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.UndeclaredThrowableException;public class ExceptionUtil {    private ExceptionUtil() {        // Prevent Instantiation    }    public static Throwable unwrapThrowable(Throwable wrapped) {        Throwable unwrapped = wrapped;        while (true) {            if (unwrapped instanceof InvocationTargetException) {                unwrapped = ((InvocationTargetException) unwrapped).getTargetException();            } else if (unwrapped instanceof UndeclaredThrowableException) {                unwrapped = ((UndeclaredThrowableException) unwrapped).getUndeclaredThrowable();            } else {                return unwrapped;            }        }    }}